﻿using Dominio.Core.Repositorios;
using ExcellentProject.Aplicacion.Cuestionarios.Servicios.ServicioDeRecursos;
using ExcellentProject.Dominio.Cuestionarios.Entidades;
using ExcellentProject.Dominio.Cuestionarios.Repositorios;
using ExcellentProject.Dominio.Cuestionarios.Servicios.Recursos;
using ExcellentProject.Infraestructura.AccesoDatos.Cuestionarios;
using ExcellentProjectPlus.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Omu.ValueInjecter;

namespace ExcellentProjectPlus.Controllers
{
    public class ResourcesController : ApiController
    {
        // GET api/resources
        public IEnumerable<ModeloRecurso> Get()
        {
            var repositorio = (IRepositorio<Recurso>)(new RepositorioRecurso());
            repositorio.Contexto = new CuestionariosContext();
            var servicioDeAdministracion = new ServicioDeAdministracionDeRecursos(repositorio);
            var servicioRecursos = new ServicioDeRecursos(servicioDeAdministracion);
            var list = servicioRecursos.ConsultarRecursos(null)
                .Select(x => new ModeloRecurso().InjectFrom(x)).Cast<ModeloRecurso>().ToList();
            return list;
        }

        // GET api/resources/5
        public string Get(int id)
        {
            return "value";
        }

        // POST api/resources
        public void Post([FromBody]string value)
        {
        }

        // PUT api/resources/5
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE api/resources/5
        public void Delete(int id)
        {
        }
    }
}
